home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / hypercrd / xcmds / dvlprstc.hqx / Developer Stack 1.3r / card_41212.txt < prev    next >
Text File  |  1991-04-30  |  3KB  |  76 lines

  1. -- card: 41212 from stack: in.3r
  2. -- bmap block id: 0
  3. -- flags: 0000
  4. -- background id: 13187
  5. -- name: ScrollingFields
  6.  
  7.  
  8. -- part contents for background part 4
  9. ----- text -----
  10. 6
  11.  
  12. -- part contents for background part 18
  13. ----- text -----
  14. Scripts
  15.  
  16. -- part contents for background part 2
  17. ----- text -----
  18. ScrollingFields
  19.  
  20. -- part contents for background part 3
  21. ----- text -----
  22. These scripts enable you to control several fields with one scroll bar.  Any scroll bar can control all the others depending on which one you are moving at any given time.  Just copy the script for field "field 1" into all fields you wish to make controllers. 
  23.  
  24. You may wish to cover up the scroll bars you don't want people to use with opaque fields, as I have done with in field "field 3", so people don't use them by mistake.
  25.  
  26. You may notice that field "field 3" has lines on it, unlike the usual scrolling field.  A transparent field with "Show Lines" checked will underline for you, but will also, unfortunately, prevent you from entering text into that field directly.
  27.  
  28. I have added an algorithm that aligns the top of the first line with the top of the field, so you won't stop the scroller with only part of the first line showing.
  29.  
  30.                               *** INSTALLATION INSTRUCTIONS ***
  31.  
  32. You MUST:
  33.      ΓÇó Put handlers "Open Card" and "ChangeScroll" into your card's script.
  34.      ΓÇó Put "mouseWithin" handler in all fields you want to use to control the others.
  35.      ΓÇó Change names of fields in card's script to the names of your fields.
  36.  
  37. P.S. I have made two other versions of this, if people show an interest:
  38.      > One of them tells you which line numbers are showing on screen, and how many total lines have been entered into the field; and
  39.      > The other works with buttons instead of scroll bars, moving up or down a line or a screen at a time.
  40.  
  41. Scroll Away.
  42.  
  43. Mark Safire
  44. Safire Consulting
  45. 320 East 22, Apt 3-F
  46. New York, NY 10010
  47. GENIE: HyperSaf
  48.  
  49. on openCard
  50.   -- PUT NAME OF ANY FIELD IN PLACE OF "field 1" IN THIS HANDLER
  51.   -- (Or, alternately, "hard wire" this script by putting the text
  52.   -- height directly into handler "changeScroll")
  53.   
  54.   global txtHt -- text height of scrolling fields
  55.   put the textHeight of card field "field 1" into txtHt
  56. end openCard
  57.  
  58. on changeScroll scrHt
  59.   -- The first part of this handler prevents you from
  60.   -- scrolling between lines.
  61.   
  62.   global txtHt
  63.   get scrHt MOD txtHt
  64.   if (it < txtHt/2) then subtract it from scrHt
  65.   else if (scrHt > 0) and (it > 0) then add (txtHt - it) to scrHt
  66.   
  67.   -- This part scrolls all the fields to the same height.
  68.   -- PUT NAMES OF ALL YOUR FIELDS HERE: ADD AS MANY AS YOU WANT
  69.   
  70.   set the scroll of card field "field 1" to scrHt
  71.   set the scroll of card field "field 2" to scrHt
  72.   set the scroll of card field "field 3" to scrHt
  73. end changeScroll
  74.  
  75.  
  76.